/* 
 * File:   CacheProductos.h
 * Author: jesus
 *
 * Created on 10 de junio de 2010, 19:29
 */

#ifndef _CACHEPRODUCTOS_H
#define	_CACHEPRODUCTOS_H
#include <iostream>
#include <map>
#include <queue>
#include "fecha.h"
#include <time.h>
#include "Producto.h"
#include "ProductoCache.h"
using namespace std;
class ErrorNoEncontrado{};

class CacheProductos {
    map<int,ProductoCache*> productosPorCodigo;
    
    priority_queue<time_t,deque<ProductoCache >,less<time_t> > productosPorFecha;

public:
    CacheProductos();
    CacheProductos(const CacheProductos& orig);
    virtual ~CacheProductos();

    void aniadirProducto(Producto &p);
    Producto * buscarProducto(int codigo);
    void vaciar();


};

#endif	/* _CACHEPRODUCTOS_H */

